/*
Backbones-Selector: Select a most probably group of Protein proteins for an Aminoacid Sequence.
    Copyright (C) 2010  Jorge E. A. Atala
                        FuDePAN
    This file is part of the Backbones-Selector Proyect.

    Backbones-Selector is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Backbones-Selector is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Backbones-Selector.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef BACKBONES_SELECTOR_IMP
#   error This is an internal file, do not include. Include backbones-selector.h instead.
#else

namespace backbonesSelector
{

//------------------------------------------------------------------------------------
//Begin of Selector Class
//------------------------------------------------------------------------------------


template<class Energy, class Distance>
Selector<Energy, Distance>::Selector(const EnergyTable<Energy, Distance>& table, Ranking& _proteinRanker, const AminoacidSequence& _aminoacids)
    :  energyTable(table),
       proteinRanker(_proteinRanker),
       aminoacids(_aminoacids)
{
}



template<class Energy, class Distance>
void Selector<Energy, Distance>::addStructure(const Structure< >& newStructure)
{
    ProteinWithEnergy* const newProtein = new ProteinWithEnergy(newStructure, aminoacids);
    newProtein->setEnergy(energyTable);
    proteinRanker.insert(newProtein);
}
}

//------------------------------------------------------------------------------------
//End of Selector Class
//------------------------------------------------------------------------------------

#endif
